/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package publico;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import fonol.entidades.Candidatos;
import fonol.entidades.Estados;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.Logger;
import publico.util.PublicoUtil;

/**
 *
 * @author Fredfred2
 */
public class RegistraCandidato extends ActionSupport implements ModelDriven{

    private Candidatos candidatos=new Candidatos();
    public Object getModel() {
        return getCandidatos();
    }
    private List<Estados> estados=new ArrayList<Estados>();

    public void setEstados(List<Estados> estados) {
        this.estados = estados;
    }

    private int estadoElegido;

    public int getEstadoElegido() {
        return estadoElegido;
    }

    public void setEstadoElegido(int estadoElegido) {
        this.estadoElegido = estadoElegido;
    }
    
    public List<Estados> getEstados() {
        return new PublicoUtil().regresaEstados();
    }

    public Candidatos getCandidatos() {
        return candidatos;
    }

    public void setCandidatos(Candidatos candidatos) {
        this.candidatos = candidatos;
    }

    @Override
    public void validate() {
        if(new PublicoUtil().checaExistencia(getCandidatos().getRfc()))
            addFieldError("rfc", getText("duplicado.invalido"));
    }

    
    @Override
    public String execute() throws Exception {
        Logger log=Logger.getLogger(RegistraCandidato.class.getName());
        log.info("Entrando a execute de RegistraCandidato");
        getCandidatos().setFechapeticion(new Date());
        getCandidatos().setEstado(new PublicoUtil().getEstado(getEstadoElegido()));
        setCandidatos(new PublicoUtil().persiste(getCandidatos()));
        return SUCCESS;
    }
    
}
